home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / IEDIPAGE.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  3.4 KB  |  123 lines

  1. {**********************************************}
  2. {  TCustomChart (or derived) Editor Dialog     }
  3. {  Copyright (c) 1996-98 by David Berneda      }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit IEdiPage;
  7.  
  8. interface
  9.  
  10. uses
  11.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  12.   StdCtrls, Buttons, Chart, ComCtrls;
  13.  
  14. type
  15.   TFormTeePage = class(TForm)
  16.     L17: TLabel;
  17.     SEPointsPerPage: TEdit;
  18.     CBScaleLast: TCheckBox;
  19.     L18: TLabel;
  20.     LabelPages: TLabel;
  21.     BFirstPage: TBitBtn;
  22.     ButtonPrevious: TBitBtn;
  23.     ButtonNext: TBitBtn;
  24.     BLastPage: TBitBtn;
  25.     UDPointsPerPage: TUpDown;
  26.     procedure SEPointsPerPageChange(Sender: TObject);
  27.     procedure ButtonPreviousClick(Sender: TObject);
  28.     procedure CBScaleLastClick(Sender: TObject);
  29.     procedure BLastPageClick(Sender: TObject);
  30.     procedure BFirstPageClick(Sender: TObject);
  31.     procedure FormShow(Sender: TObject);
  32.     procedure ButtonNextClick(Sender: TObject);
  33.     procedure FormCreate(Sender: TObject);
  34.   private
  35.     { Private declarations }
  36.     CreatingForm : Boolean;
  37.     procedure TheChartPageChange(Sender: TObject);
  38.   public
  39.     { Public declarations }
  40.     TheChart : TCustomChart;
  41.     Constructor CreateChart(Owner:TComponent; AChart:TCustomChart);
  42.   end;
  43.  
  44. implementation
  45.  
  46. {$R *.DFM}
  47.  
  48. Constructor TFormTeePage.CreateChart(Owner:TComponent; AChart:TCustomChart);
  49. begin
  50.   inherited Create(Owner);
  51.   TheChart:=AChart;
  52. end;
  53.  
  54. procedure TFormTeePage.TheChartPageChange(Sender: TObject);
  55. begin
  56.   { show the current page number and the total number of pages }
  57.   { (like a report) }
  58.   LabelPages.Caption:=IntToStr(TheChart.Page)+'/'+IntToStr(TheChart.NumPages);
  59.   { enable or disable buttons }
  60.   ButtonPrevious.Enabled:=TheChart.Page > 1;
  61.   ButtonNext.Enabled:=TheChart.Page < TheChart.NumPages;
  62.   BFirstPage.Enabled:=ButtonPrevious.Enabled;
  63.   BLastPage.Enabled:=ButtonNext.Enabled;
  64. end;
  65.  
  66. procedure TFormTeePage.SEPointsPerPageChange(Sender: TObject);
  67. begin
  68.   if not CreatingForm then
  69.   begin
  70.     With TheChart do
  71.     if SEPointsPerPage.Text='' then MaxPointsPerPage:=0
  72.                                else MaxPointsPerPage:=UDPointsPerPage.Position;
  73.     TheChartPageChange(TheChart); { <-- repaint page / number of pages }
  74.   end;
  75. end;
  76.  
  77. procedure TFormTeePage.ButtonPreviousClick(Sender: TObject);
  78. begin
  79.   TheChart.PreviousPage;  { <-- goto next chart page }
  80.   TheChartPageChange(Self);
  81. end;
  82.  
  83. procedure TFormTeePage.CBScaleLastClick(Sender: TObject);
  84. begin
  85.   TheChart.ScaleLastPage:=CBScaleLast.Checked;
  86. end;
  87.  
  88. procedure TFormTeePage.BLastPageClick(Sender: TObject);
  89. begin
  90.   TheChart.Page:=TheChart.NumPages;  { <-- goto Last chart page }
  91.   TheChartPageChange(Self);
  92. end;
  93.  
  94. procedure TFormTeePage.BFirstPageClick(Sender: TObject);
  95. begin
  96.   TheChart.Page:=1;  { <-- goto first chart page }
  97.   TheChartPageChange(Self);
  98. end;
  99.  
  100. procedure TFormTeePage.FormShow(Sender: TObject);
  101. begin
  102.   With TheChart do
  103.   begin
  104.     UDPointsPerPage.Position :=MaxPointsPerPage;
  105.     CBScaleLast.Checked      :=ScaleLastPage;
  106.     TheChartPageChange(Self);
  107.   end;
  108.   CreatingForm:=False;
  109. end;
  110.  
  111. procedure TFormTeePage.ButtonNextClick(Sender: TObject);
  112. begin
  113.   TheChart.NextPage;  { <-- goto next chart page }
  114.   TheChartPageChange(Self);
  115. end;
  116.  
  117. procedure TFormTeePage.FormCreate(Sender: TObject);
  118. begin
  119.   CreatingForm:=True;
  120. end;
  121.  
  122. end.
  123.